package org.example.mapper;

import org.apache.ibatis.annotations.Select;
import org.example.entity.loginuser;

import java.util.List;

public interface login {
    loginuser selet(String uername);
//    方法的返回类型是 loginuser，这表明用户当前的代码返回是一个loginuser对象
    @Select({"select * from logind"})
    List<loginuser> seletall();
//    方法的返回类型是 List<loginuser>，这表明用户当前的代码返回是一个列表

//    这个就是定义查询时输出结果该怎么进行输出，比如输出哪些列，叫什么名字
//    <!--    @Select("select * from person where pid = #{pid}")-->
//<!--    @Results({-->
//            <!--    @Result(id=true,column="pid",property="pid"),-->
//<!--    @Result(column="pName",property="pName"),-->
//<!--    @Result(column="age",property="age"),-->
//<!--    @Result(column="pid",property="card",one=@One(select="com.test.mapper.CardMapper.getCard",fetchType= FetchType.EAGER))-->
//<!--    })-->
//    @Result(id=true, column="pid", property="pid")
//    id=true：表示这个字段是主键，用于标识唯一记录。
//    column="pid"：表示数据库表中的列名。
//    property="pid"：表示 Java 对象中的属性名。
//    这里将数据库的 pid 列映射到 Java 对象的 pid 属性。
//    @Result(column="pName", property="pName")
//    将数据库的 pName 列映射到 Java 对象的 pName 属性。
//    @Result(column="age", property="age")
//    将数据库的 age 列映射到 Java 对象的 age 属性。
//    @Result(column="pid", property="card", one=@One(select="com.test.mapper.CardMapper.getCard", fetchType= FetchType.EAGER))
//    column="pid"：表示数据库表中的列名，这里用作关联查询的外键。
//    property="card"：表示 Java 对象中的属性名，通常是一个关联对象（如 Card 类型）。
//    one=@One(select="com.test.mapper.CardMapper.getCard", fetchType= FetchType.EAGER)：
//    select="com.test.mapper.CardMapper.getCard"：指定一个映射器方法，用于通过 pid 查询关联的 Card 对象。
//    fetchType= FetchType.EAGER：指定关联对象的加载策略为立即加载（EAGER），即在查询主对象时同时查询关联对象。
}
